mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 00:45:32 +00:00
92 lines
No EOL
2.9 KiB
JavaScript
92 lines
No EOL
2.9 KiB
JavaScript
import { assert } from 'chai';
|
|
import { Mock } from '@keymanapp/keyboard-processor';
|
|
|
|
describe('Mocks', function() {
|
|
describe('app|les', () => {
|
|
const testMock = new Mock('apples', 3);
|
|
|
|
it('Cloning with .from()', () => {
|
|
assert.deepEqual(Mock.from(testMock), testMock);
|
|
assert.notStrictEqual(Mock.from(testMock), testMock);
|
|
});
|
|
|
|
it('getText', () => {
|
|
assert.equal(testMock.getText(), 'apples');
|
|
});
|
|
|
|
it('getTextBeforeCaret', () => {
|
|
assert.equal(testMock.getTextBeforeCaret(), 'app');
|
|
});
|
|
|
|
it('getTextAfterCaret', () => {
|
|
assert.equal(testMock.getTextAfterCaret(), 'les');
|
|
});
|
|
|
|
it('getSelectedText', () => {
|
|
assert.equal(testMock.getSelectedText(), '');
|
|
});
|
|
|
|
it('isSelectionEmpty', () => {
|
|
assert.isTrue(testMock.isSelectionEmpty());
|
|
});
|
|
|
|
it('clearSelection', () => {
|
|
let editMock = Mock.from(testMock);
|
|
editMock.clearSelection();
|
|
|
|
assert.equal(editMock.getText(), testMock.getTextBeforeCaret() + testMock.getTextAfterCaret());
|
|
assert.equal(editMock.getTextBeforeCaret(), testMock.getTextBeforeCaret());
|
|
assert.equal(editMock.getTextAfterCaret(), testMock.getTextAfterCaret());
|
|
assert.isTrue(editMock.isSelectionEmpty());
|
|
|
|
let postClear = Mock.from(editMock);
|
|
editMock.clearSelection(); // on same object; make sure its internal selection stuff updates correctly!
|
|
assert.notStrictEqual(postClear, editMock);
|
|
assert.deepEqual(postClear, editMock);
|
|
});
|
|
});
|
|
|
|
describe('app|les and ba|nanas', () => { // selection = 'les and ba'
|
|
const testMock = new Mock('apples and bananas', 3, 13);
|
|
|
|
it('Cloning with from()', () => {
|
|
assert.deepEqual(Mock.from(testMock), testMock);
|
|
assert.notStrictEqual(Mock.from(testMock), testMock);
|
|
});
|
|
|
|
it('getText', () => {
|
|
assert.equal(testMock.getText(), 'apples and bananas');
|
|
});
|
|
|
|
it('getTextBeforeCaret', () => {
|
|
assert.equal(testMock.getTextBeforeCaret(), 'app');
|
|
});
|
|
|
|
it('getTextAfterCaret', () => {
|
|
assert.equal(testMock.getTextAfterCaret(), 'nanas');
|
|
});
|
|
|
|
it('getSelectedText', () => {
|
|
assert.equal(testMock.getSelectedText(), 'les and ba');
|
|
});
|
|
|
|
it('isSelectionEmpty', () => {
|
|
assert.isFalse(testMock.isSelectionEmpty());
|
|
});
|
|
|
|
it('clearSelection', () => {
|
|
let editMock = Mock.from(testMock);
|
|
editMock.clearSelection();
|
|
|
|
assert.equal(editMock.getText(), testMock.getTextBeforeCaret() + testMock.getTextAfterCaret());
|
|
assert.equal(editMock.getTextBeforeCaret(), testMock.getTextBeforeCaret());
|
|
assert.equal(editMock.getTextAfterCaret(), testMock.getTextAfterCaret());
|
|
assert.isTrue(editMock.isSelectionEmpty());
|
|
|
|
let postClear = Mock.from(editMock);
|
|
editMock.clearSelection(); // on same object; make sure its internal selection stuff updates correctly!
|
|
assert.notStrictEqual(postClear, editMock);
|
|
assert.deepEqual(postClear, editMock);
|
|
});
|
|
});
|
|
}); |