Skip to content

Commit

Permalink
Implement tests for Buffer and BufferSet
Browse files Browse the repository at this point in the history
  • Loading branch information
parisk committed Jul 15, 2017
1 parent f840997 commit 1a2e3fb
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 1 deletion.
31 changes: 31 additions & 0 deletions src/Buffer.test.ts
Original file line number Diff line number Diff line change
@@ -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 changes: 49 additions & 0 deletions src/BufferSet.test.ts
Original file line number Diff line number Diff line change
@@ -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);
});
});
});
2 changes: 1 addition & 1 deletion src/SelectionManager.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down

0 comments on commit 1a2e3fb

Please sign in to comment.