@krassowski/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
43 lines • 1.92 kB
JavaScript
import { nullTranslator } from '@jupyterlab/translation';
import { BrowserConsole } from '../virtual/console';
import { VirtualDocument } from '../virtual/document';
import { getBreadcrumbs } from './utils';
function create_dummy_document(options) {
return new VirtualDocument(Object.assign({ language: 'python', foreign_code_extractors: {}, overrides_registry: {}, path: 'Untitled.ipynb.py', file_extension: 'py', has_lsp_supported_file: false, console: new BrowserConsole() }, options));
}
describe('getBreadcrumbs', () => {
const trans = nullTranslator.load('jupyterlab_lsp');
it('should collapse long paths', () => {
let document = create_dummy_document({
path: 'dir1/dir2/Test.ipynb'
});
let breadcrumbs = getBreadcrumbs(document, {
has_multiple_editors: false
}, trans);
expect(breadcrumbs[0].props['title']).toBe('dir1/dir2/Test.ipynb');
expect(breadcrumbs[0].props['children']).toBe('dir1/.../Test.ipynb');
});
it('should trim the extra filename suffix for files created out of notebooks', () => {
let document = create_dummy_document({
path: 'Test.ipynb.py',
file_extension: 'py',
has_lsp_supported_file: false
});
let breadcrumbs = getBreadcrumbs(document, {
has_multiple_editors: false
}, trans);
expect(breadcrumbs[0].props['children']).toBe('Test.ipynb');
});
it('should not trim the filename suffix for standalone files', () => {
let document = create_dummy_document({
path: 'test.py',
file_extension: 'py',
has_lsp_supported_file: true
});
let breadcrumbs = getBreadcrumbs(document, {
has_multiple_editors: false
}, trans);
expect(breadcrumbs[0].props['children']).toBe('test.py');
});
});
//# sourceMappingURL=utils.spec.js.map