@jupyter-lsp/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
45 lines • 1.75 kB
JavaScript
import { PageConfig } from '@jupyterlab/coreutils';
import { nullTranslator } from '@jupyterlab/translation';
import { FileEditorTestEnvironment } from '../testutils';
import { RenameFeature } from './rename';
describe('Rename', () => {
let env;
beforeEach(async () => {
env = new FileEditorTestEnvironment();
await env.init();
});
afterEach(() => env.dispose());
describe('Works with VirtualFileEditor', () => {
let feature;
beforeEach(() => {
feature = new RenameFeature({
trans: nullTranslator.load(''),
connectionManager: env.connectionManager
});
});
PageConfig.setOption('rootUri', 'file://');
it('renames files', async () => {
env.activeEditor.model.sharedModel.setSource('x = 1\n');
await env.adapter.updateDocuments();
let mainDocument = env.adapter.virtualDocument;
await feature.handleRename({
changes: {
['file:///' + env.documentOptions.path]: [
{
range: {
start: { line: 0, character: 0 },
end: { line: 2, character: 0 }
},
newText: 'y = 1\n'
}
]
}
}, 'x', 'y', env.adapter, mainDocument);
await env.adapter.updateDocuments();
// TODO: intercept notifications
// expect(env.status_message.message).toBe('Renamed x to y');
expect(mainDocument.value).toBe('y = 1\n');
});
});
});
//# sourceMappingURL=rename.spec.js.map