UNPKG

@krassowski/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

38 lines 1.63 kB
import { expect } from 'chai'; import { CodeMirrorIntegration } from './codemirror'; import { FileEditorFeatureTestEnvironment } from './testutils'; describe('CodeMirrorAdapter', () => { let env; beforeEach(() => (env = new FileEditorFeatureTestEnvironment())); afterEach(() => env.dispose()); describe('Works with VirtualFileEditor', () => { it('updates on change', async () => { class UpdateReceivingFeature extends CodeMirrorIntegration { constructor() { super(...arguments); this.received_update = false; this.last_change = null; } afterChange(change, root_position) { this.received_update = true; this.last_change = change; this.last_change_position = root_position; } } await env.adapter.widget.context.initialize(true); await env.adapter.widget.context.ready; await env.adapter.initialized; let feature = env.init_integration({ constructor: UpdateReceivingFeature, id: 'UpdateReceivingFeature' }); await env.adapter.update_finished; expect(feature.received_update).to.equal(false); env.ce_editor.model.value.text = 'fo'; await env.adapter.update_finished; expect(feature.received_update).to.equal(true); expect(feature.last_change.text[0]).to.equal('fo'); }); }); }); //# sourceMappingURL=cm_adapter.spec.js.map