add interfaces and option handling

This commit is contained in:
Jörg Breitbart
2019-12-05 21:30:59 +01:00
parent 31ccb796ac
commit 43303ba4c1
7 changed files with 67 additions and 10 deletions
+3 -3
View File
@@ -9,8 +9,8 @@ import { IUnicodeVersionProvider } from 'common/services/Services';
class DummyProvider implements IUnicodeVersionProvider {
version = '123';
wcwidth(n: number): number {
return 123;
wcwidth(n: number): 0 | 1 | 2 {
return 2;
}
}
@@ -41,7 +41,7 @@ describe('unicode provider', () => {
const dummyProvider = new DummyProvider();
us.register(dummyProvider);
us.activeVersion = dummyProvider.version;
assert.equal(us.getStringCellWidth('hello'), 123 * 5);
assert.equal(us.getStringCellWidth('hello'), 2 * 5);
});
it('wcwidth V6 emoji test', () => {
const widthV6 = us.getStringCellWidth('🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣');