Rename Linkifier2 -> Linkifier
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* Copyright (c) 2020 The xterm.js authors. All rights reserved.
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
import { assert } from 'chai';
|
||||
import { IBufferService } from 'common/services/Services';
|
||||
import { Linkifier } from './Linkifier';
|
||||
import { MockBufferService } from 'common/TestUtils.test';
|
||||
import { ILink } from 'browser/Types';
|
||||
import { LinkProviderService } from 'browser/services/LinkProviderService';
|
||||
import jsdom = require('jsdom');
|
||||
|
||||
class TestLinkifier2 extends Linkifier {
|
||||
public set currentLink(link: any) {
|
||||
this._currentLink = link;
|
||||
}
|
||||
|
||||
public linkHover(element: HTMLElement, link: ILink, event: MouseEvent): void {
|
||||
this._linkHover(element, link, event);
|
||||
}
|
||||
|
||||
public linkLeave(element: HTMLElement, link: ILink, event: MouseEvent): void {
|
||||
this._linkLeave(element, link, event);
|
||||
}
|
||||
}
|
||||
|
||||
describe('Linkifier2', () => {
|
||||
let bufferService: IBufferService;
|
||||
let linkifier: TestLinkifier2;
|
||||
|
||||
const link: ILink = {
|
||||
text: 'foo',
|
||||
range: {
|
||||
start: {
|
||||
x: 5,
|
||||
y: 1
|
||||
},
|
||||
end: {
|
||||
x: 7,
|
||||
y: 1
|
||||
}
|
||||
},
|
||||
activate: () => { }
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
const dom = new jsdom.JSDOM();
|
||||
bufferService = new MockBufferService(100, 10);
|
||||
linkifier = new TestLinkifier2(dom.window.document.createElement('div'), null!, null!, bufferService, new LinkProviderService());
|
||||
linkifier.currentLink = {
|
||||
link,
|
||||
state: {
|
||||
decorations: {
|
||||
underline: true,
|
||||
pointerCursor: true
|
||||
},
|
||||
isHovered: true
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
it('onShowLinkUnderline event range is correct', done => {
|
||||
linkifier.onShowLinkUnderline(e => {
|
||||
assert.equal(link.range.start.x - 1, e.x1);
|
||||
assert.equal(link.range.start.y - 1, e.y1);
|
||||
assert.equal(link.range.end.x, e.x2);
|
||||
assert.equal(link.range.end.y - 1, e.y2);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
linkifier.linkHover({ classList: { add: () => { } } } as any, link, {} as any);
|
||||
});
|
||||
|
||||
it('onHideLinkUnderline event range is correct', done => {
|
||||
linkifier.onHideLinkUnderline(e => {
|
||||
assert.equal(link.range.start.x - 1, e.x1);
|
||||
assert.equal(link.range.start.y - 1, e.y1);
|
||||
assert.equal(link.range.end.x, e.x2);
|
||||
assert.equal(link.range.end.y - 1, e.y2);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
linkifier.linkLeave({ classList: { add: () => { } } } as any, link, {} as any);
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user