/
githubmirror
/
atom
Обзор
Документация
Войти
/
githubmirror
/
atom
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
packages/about/spec/about-spec.js
103 строки
4 KB
sadick254
Attach workspace element to the dom
13 авг 2021, 08:55
Не верифицирован
13 авг 2021, 08:55
fd1f34f
Код
Авторство
О чём код?
describe('About', () => { let workspaceElement; beforeEach(async () => { let storage = {}; spyOn(window.localStorage, 'setItem').andCallFake((key, value) => { storage[key] = value; }); spyOn(window.localStorage, 'getItem').andCallFake(key => { return storage[key]; }); workspaceElement = atom.views.getView(atom.workspace); await atom.packages.activatePackage('about'); }); it('deserializes correctly', () => { let deserializedAboutView = atom.deserializers.deserialize({ deserializer: 'AboutView', uri: 'atom://about' }); expect(deserializedAboutView).toBeTruthy(); }); describe('when the about:about-atom command is triggered', () => { it('shows the About Atom view', async () => { // Attaching the workspaceElement to the DOM is required to allow the // `toBeVisible()` matchers to work. Anything testing visibility or focus // requires that the workspaceElement is on the DOM. Tests that attach the // workspaceElement to the DOM are generally slower than those off DOM. jasmine.attachToDOM(workspaceElement); expect(workspaceElement.querySelector('.about')).not.toExist(); await atom.workspace.open('atom://about'); let aboutElement = workspaceElement.querySelector('.about'); expect(aboutElement).toBeVisible(); }); }); describe('when the Atom version number is clicked', () => { it('copies the version number to the clipboard', async () => { await atom.workspace.open('atom://about'); jasmine.attachToDOM(workspaceElement); let aboutElement = workspaceElement.querySelector('.about'); let versionContainer = aboutElement.querySelector('.atom'); versionContainer.click(); expect(atom.clipboard.read()).toBe(atom.getVersion()); }); }); describe('when the show more link is clicked', () => { it('expands to show additional version numbers', async () => { await atom.workspace.open('atom://about'); jasmine.attachToDOM(workspaceElement); let aboutElement = workspaceElement.querySelector('.about'); let showMoreElement = aboutElement.querySelector('.show-more-expand'); let moreInfoElement = workspaceElement.querySelector('.show-more'); showMoreElement.click(); expect(moreInfoElement).toBeVisible(); }); }); describe('when the Electron version number is clicked', () => { it('copies the version number to the clipboard', async () => { await atom.workspace.open('atom://about'); jasmine.attachToDOM(workspaceElement); let aboutElement = workspaceElement.querySelector('.about'); let versionContainer = aboutElement.querySelector('.electron'); versionContainer.click(); expect(atom.clipboard.read()).toBe(process.versions.electron); }); }); describe('when the Chrome version number is clicked', () => { it('copies the version number to the clipboard', async () => { await atom.workspace.open('atom://about'); jasmine.attachToDOM(workspaceElement); let aboutElement = workspaceElement.querySelector('.about'); let versionContainer = aboutElement.querySelector('.chrome'); versionContainer.click(); expect(atom.clipboard.read()).toBe(process.versions.chrome); }); }); describe('when the Node version number is clicked', () => { it('copies the version number to the clipboard', async () => { await atom.workspace.open('atom://about'); jasmine.attachToDOM(workspaceElement); let aboutElement = workspaceElement.querySelector('.about'); let versionContainer = aboutElement.querySelector('.node'); versionContainer.click(); expect(atom.clipboard.read()).toBe(process.version); }); }); });