|
@@ -1,5 +1,6 @@
|
|
|
import { expect } from 'chai';
|
|
|
-import { Display, screen } from 'electron/main';
|
|
|
+import { Display, screen, desktopCapturer } from 'electron/main';
|
|
|
+import { ifit } from './lib/spec-helpers';
|
|
|
|
|
|
describe('screen module', () => {
|
|
|
describe('methods reassignment', () => {
|
|
@@ -14,6 +15,26 @@ describe('screen module', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ describe('screen.getAllDisplays', () => {
|
|
|
+ it('returns an array of displays', () => {
|
|
|
+ const displays = screen.getAllDisplays();
|
|
|
+ expect(displays).to.be.an('array').with.lengthOf.at.least(1);
|
|
|
+ for (const display of displays) {
|
|
|
+ expect(display).to.be.an('object');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // desktopCapturer.getSources does not work as expected in Windows CI.
|
|
|
+ ifit(process.platform !== 'win32')('returns displays with IDs matching desktopCapturer source display IDs', async () => {
|
|
|
+ const displayIds = screen.getAllDisplays().map(d => `${d.id}`);
|
|
|
+
|
|
|
+ const sources = await desktopCapturer.getSources({ types: ['screen'] });
|
|
|
+ const sourceIds = sources.map(s => s.display_id);
|
|
|
+
|
|
|
+ expect(displayIds).to.have.members(sourceIds);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
describe('screen.getCursorScreenPoint()', () => {
|
|
|
it('returns a point object', () => {
|
|
|
const point = screen.getCursorScreenPoint();
|