mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 08:55:34 +00:00
58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
var assert = require('chai').assert;
|
|
|
|
let TransformUtils = require('../../../web/lm-worker/build/intermediate.js').TransformUtils;
|
|
|
|
describe('TransformUtils', function () {
|
|
describe('isWhitespace', function () {
|
|
it("should not match a string containing standard alphabetic characters", function () {
|
|
let testTransforms = [{
|
|
insert: "a ",
|
|
deleteLeft: 0
|
|
}, {
|
|
insert: " a",
|
|
deleteLeft: 0
|
|
}, {
|
|
insert: "ab",
|
|
deleteLeft: 0
|
|
}];
|
|
|
|
testTransforms.forEach((transform) => assert.isFalse(TransformUtils.isWhitespace(transform), `failed with: '${transform.insert}'`));
|
|
});
|
|
|
|
it("should match a simple ' ' transform", function() {
|
|
transform = {
|
|
insert: " ",
|
|
deleteLeft: 0
|
|
};
|
|
|
|
assert.isTrue(TransformUtils.isWhitespace(transform));
|
|
});
|
|
|
|
it("should match a simple ' ' transform with delete-left", function() {
|
|
transform = {
|
|
insert: " ",
|
|
deleteLeft: 1
|
|
};
|
|
|
|
assert.isTrue(TransformUtils.isWhitespace(transform));
|
|
});
|
|
|
|
it("should match a transform consisting of multiple characters of only whitespace", function() {
|
|
transform = {
|
|
insert: " \n\r\u00a0\t\u2000 ",
|
|
deleteLeft: 0
|
|
};
|
|
|
|
assert.isTrue(TransformUtils.isWhitespace(transform));
|
|
});
|
|
|
|
it("stress tests", function() {
|
|
transform = {
|
|
insert: " \n\r\u00a0\ta\u2000 ", // the 'a' should cause failure.
|
|
deleteLeft: 0
|
|
};
|
|
|
|
assert.isFalse(TransformUtils.isWhitespace(transform));
|
|
});
|
|
});
|
|
});
|