@krassowski/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
42 lines • 1.65 kB
JavaScript
import { PageConfig } from '@jupyterlab/coreutils';
import { expect } from 'chai';
import { FileEditorFeatureTestEnvironment } from '../editor_integration/testutils';
import { RenameCM } from './rename';
describe('Rename', () => {
let env;
beforeEach(() => {
env = new FileEditorFeatureTestEnvironment();
});
afterEach(() => env.dispose());
describe('Works with VirtualFileEditor', () => {
let feature;
beforeEach(() => (feature = env.init_integration({
constructor: RenameCM,
id: 'Rename'
})));
afterEach(() => env.dispose_feature(feature));
PageConfig.setOption('rootUri', 'file://');
it('renames files', async () => {
env.ce_editor.model.value.text = 'x = 1\n';
await env.adapter.update_documents();
let main_document = env.virtual_editor.virtual_document;
await feature.handleRename({
changes: {
['file:///' + env.document_options.path]: [
{
range: {
start: { line: 0, character: 0 },
end: { line: 2, character: 0 }
},
newText: 'y = 1\n'
}
]
}
}, 'x', 'y');
await env.adapter.update_documents();
expect(env.status_message.message).to.be.equal('Renamed x to y');
expect(main_document.value).to.be.equal('y = 1\n');
});
});
});
//# sourceMappingURL=rename.spec.js.map