workspace-center-spec.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. /** @babel */
  2. const TextEditor = require('../src/text-editor');
  3. describe('WorkspaceCenter', () => {
  4. describe('.observeTextEditors()', () => {
  5. it('invokes the observer with current and future text editors', () => {
  6. const workspaceCenter = atom.workspace.getCenter();
  7. const pane = workspaceCenter.getActivePane();
  8. const observed = [];
  9. const editorAddedBeforeRegisteringObserver = new TextEditor();
  10. const nonEditorItemAddedBeforeRegisteringObserver = document.createElement(
  11. 'div'
  12. );
  13. pane.activateItem(editorAddedBeforeRegisteringObserver);
  14. pane.activateItem(nonEditorItemAddedBeforeRegisteringObserver);
  15. workspaceCenter.observeTextEditors(editor => observed.push(editor));
  16. const editorAddedAfterRegisteringObserver = new TextEditor();
  17. const nonEditorItemAddedAfterRegisteringObserver = document.createElement(
  18. 'div'
  19. );
  20. pane.activateItem(editorAddedAfterRegisteringObserver);
  21. pane.activateItem(nonEditorItemAddedAfterRegisteringObserver);
  22. expect(observed).toEqual([
  23. editorAddedBeforeRegisteringObserver,
  24. editorAddedAfterRegisteringObserver
  25. ]);
  26. });
  27. });
  28. });