Implement tests for Buffer and BufferSet

This commit is contained in:
Paris Kasidiaris
2017-07-16 03:47:15 +03:00
committed by Paris Kasidiaris
parent 58b9f712df
commit cb5a452c90
3 changed files with 81 additions and 1 deletions
+31
View File
@@ -0,0 +1,31 @@
/**
* @license MIT
*/
import { assert } from 'chai';
import { ITerminal } from './Interfaces';
import { Buffer } from './Buffer';
import { CircularList } from './utils/CircularList';
describe('Buffer', () => {
let terminal: ITerminal;
let buffer: Buffer;
beforeEach(() => {
terminal = <any>{
cols: 80,
rows: 24,
scrollback: 1000
};
buffer = new Buffer(terminal);
});
describe('constructor', () => {
it('should create a CircularList with max length equal to scrollback, for its lines', () => {
assert.instanceOf(buffer.lines, CircularList);
assert.equal(buffer.lines.maxLength, terminal.scrollback);
});
it('should set the Buffer\'s scrollBottom value equal to the terminal\'s rows -1', () => {
assert.equal(buffer.scrollBottom, terminal.rows - 1);
});
});
});
+49
View File
@@ -0,0 +1,49 @@
/**
* @license MIT
*/
import { assert } from 'chai';
import { ITerminal } from './Interfaces';
import { BufferSet } from './BufferSet';
import { Buffer } from './Buffer';
describe('BufferSet', () => {
let terminal: ITerminal;
let bufferSet: BufferSet;
beforeEach(() => {
terminal = <any>{
cols: 80,
rows: 24,
scrollback: 1000
};
bufferSet = new BufferSet(terminal);
});
describe('constructor', () => {
it('should create two different buffers: alt and normal', () => {
assert.instanceOf(bufferSet.normal, Buffer);
assert.instanceOf(bufferSet.alt, Buffer);
assert.notEqual(bufferSet.normal, bufferSet.alt);
});
});
describe('activateNormalBuffer', () => {
beforeEach(() => {
bufferSet.activateNormalBuffer();
});
it('should set the normal buffer as the currently active buffer', () => {
assert.equal(bufferSet.active, bufferSet.normal);
});
});
describe('activateAltBuffer', () => {
beforeEach(() => {
bufferSet.activateAltBuffer();
});
it('should set the alt buffer as the currently active buffer', () => {
assert.equal(bufferSet.active, bufferSet.alt);
});
});
});
+1 -1
View File
@@ -8,7 +8,7 @@ import { CharMeasure } from './utils/CharMeasure';
import { CircularList } from './utils/CircularList';
import { SelectionManager } from './SelectionManager';
import { SelectionModel } from './SelectionModel';
import {BufferSet} from './BufferSet';
import { BufferSet } from './BufferSet';
class TestSelectionManager extends SelectionManager {
constructor(