Fix tests
This commit is contained in:
@@ -42,6 +42,16 @@ describe('CompositionHelper', () => {
|
||||
},
|
||||
handler: (text: string) => {
|
||||
handledText += text;
|
||||
},
|
||||
buffer: {
|
||||
isCursorInViewport: true
|
||||
},
|
||||
charMeasure: {
|
||||
height: 10,
|
||||
width: 10
|
||||
},
|
||||
options: {
|
||||
lineHeight: 1
|
||||
}
|
||||
};
|
||||
handledText = '';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { assert, expect } from 'chai';
|
||||
import { Terminal } from './Terminal';
|
||||
import { MockViewport, MockCompositionHelper } from './utils/TestUtils.test';
|
||||
import { MockViewport, MockCompositionHelper, MockRenderer } from './utils/TestUtils.test';
|
||||
import { CHAR_DATA_CHAR_INDEX, CHAR_DATA_WIDTH_INDEX } from './Buffer';
|
||||
|
||||
const INIT_COLS = 80;
|
||||
@@ -21,6 +21,7 @@ describe('term.js addons', () => {
|
||||
rows: INIT_ROWS
|
||||
});
|
||||
term.refresh = () => {};
|
||||
(<any>term).renderer = new MockRenderer();
|
||||
term.viewport = new MockViewport();
|
||||
(<any>term).compositionHelper = new MockCompositionHelper();
|
||||
// Force synchronous writes
|
||||
|
||||
+2
-1
@@ -44,6 +44,7 @@ import { DEFAULT_ANSI_COLORS } from './renderer/ColorManager';
|
||||
import { IMouseZoneManager } from './input/Interfaces';
|
||||
import { MouseZoneManager } from './input/MouseZoneManager';
|
||||
import { initialize as initializeCharAtlas } from './renderer/CharAtlas';
|
||||
import { IRenderer } from './renderer/Interfaces';
|
||||
|
||||
// Declare for RequireJS in loadAddon
|
||||
declare var define: any;
|
||||
@@ -184,7 +185,7 @@ export class Terminal extends EventEmitter implements ITerminal, IInputHandlingT
|
||||
|
||||
private inputHandler: InputHandler;
|
||||
private parser: Parser;
|
||||
private renderer: Renderer;
|
||||
private renderer: IRenderer;
|
||||
public selectionManager: SelectionManager;
|
||||
private linkifier: Linkifier;
|
||||
public buffers: BufferSet;
|
||||
|
||||
@@ -31,7 +31,8 @@ describe('Viewport', () => {
|
||||
}
|
||||
},
|
||||
options: {
|
||||
scrollback: 10
|
||||
scrollback: 10,
|
||||
lineHeight: 1
|
||||
}
|
||||
};
|
||||
terminal.buffers = new BufferSet(terminal);
|
||||
|
||||
@@ -1,4 +1,17 @@
|
||||
import { ITerminal, ITerminalOptions } from '../Interfaces';
|
||||
import { ITerminal, ITerminalOptions, ITheme } from '../Interfaces';
|
||||
|
||||
export interface IRenderer {
|
||||
setTheme(theme: ITheme): IColorSet;
|
||||
onResize(cols: number, rows: number): void;
|
||||
onCharSizeChanged(charWidth: number, charHeight: number): void;
|
||||
onBlur(): void;
|
||||
onFocus(): void;
|
||||
onSelectionChanged(start: [number, number], end: [number, number]): void;
|
||||
onCursorMove(): void;
|
||||
onOptionsChanged(): void;
|
||||
clear(): void;
|
||||
queueRefresh(start: number, end: number): void;
|
||||
}
|
||||
|
||||
export interface IRenderLayer {
|
||||
/**
|
||||
|
||||
@@ -11,9 +11,9 @@ import { SelectionRenderLayer } from './SelectionRenderLayer';
|
||||
import { CursorRenderLayer } from './CursorRenderLayer';
|
||||
import { ColorManager } from './ColorManager';
|
||||
import { BaseRenderLayer } from './BaseRenderLayer';
|
||||
import { IRenderLayer, IColorSet } from './Interfaces';
|
||||
import { IRenderLayer, IColorSet, IRenderer } from './Interfaces';
|
||||
|
||||
export class Renderer {
|
||||
export class Renderer implements IRenderer {
|
||||
/** A queue of the rows to be refreshed */
|
||||
private _refreshRowsQueue: {start: number, end: number}[] = [];
|
||||
private _refreshAnimationFrame = null;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
import { ITerminal, IBuffer, IBufferSet, IBrowser, ICharMeasure, ISelectionManager, ITerminalOptions, IListenerType, IInputHandlingTerminal, IViewport, ICircularList, ICompositionHelper } from '../Interfaces';
|
||||
import { ITerminal, IBuffer, IBufferSet, IBrowser, ICharMeasure, ISelectionManager, ITerminalOptions, IListenerType, IInputHandlingTerminal, IViewport, ICircularList, ICompositionHelper, ITheme } from '../Interfaces';
|
||||
import { LineData } from '../Types';
|
||||
import { Buffer } from '../Buffer';
|
||||
import * as Browser from './Browser';
|
||||
import { IColorSet } from '../renderer/Interfaces';
|
||||
import { IColorSet, IRenderer } from '../renderer/Interfaces';
|
||||
|
||||
export class MockTerminal implements ITerminal {
|
||||
isFocused: boolean;
|
||||
@@ -204,6 +204,19 @@ export class MockBuffer implements IBuffer {
|
||||
}
|
||||
}
|
||||
|
||||
export class MockRenderer implements IRenderer {
|
||||
setTheme(theme: ITheme): IColorSet { return <IColorSet>{}; }
|
||||
onResize(cols: number, rows: number): void {}
|
||||
onCharSizeChanged(charWidth: number, charHeight: number): void {}
|
||||
onBlur(): void {}
|
||||
onFocus(): void {}
|
||||
onSelectionChanged(start: [number, number], end: [number, number]): void {}
|
||||
onCursorMove(): void {}
|
||||
onOptionsChanged(): void {}
|
||||
clear(): void {}
|
||||
queueRefresh(start: number, end: number): void {}
|
||||
}
|
||||
|
||||
export class MockViewport implements IViewport {
|
||||
onThemeChanged(colors: IColorSet): void {
|
||||
throw new Error('Method not implemented.');
|
||||
|
||||
Reference in New Issue
Block a user