fix: we can not use ts-node apaprently
This commit is contained in:
		
					parent
					
						
							
								46e5767527
							
						
					
				
			
			
				commit
				
					
						be60f93bd0
					
				
			
		
					 2 changed files with 43 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -98,7 +98,7 @@ async function runElectronTests () {
 | 
			
		|||
 | 
			
		||||
async function runRemoteBasedElectronTests () {
 | 
			
		||||
  let exe = path.resolve(BASE, utils.getElectronExec())
 | 
			
		||||
  const runnerArgs = ['electron/spec', ...args._]
 | 
			
		||||
  const runnerArgs = ['electron/spec', ...args._.slice(2)]
 | 
			
		||||
  if (process.platform === 'linux') {
 | 
			
		||||
    runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe)
 | 
			
		||||
    exe = 'python'
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ async function runRemoteBasedElectronTests () {
 | 
			
		|||
async function runMainProcessElectronTests () {
 | 
			
		||||
  const exe = path.resolve(BASE, utils.getElectronExec())
 | 
			
		||||
 | 
			
		||||
  const { status } = childProcess.spawnSync(exe, ['electron/spec-main', ...args._], {
 | 
			
		||||
  const { status } = childProcess.spawnSync(exe, ['electron/spec-main', ...args._.slice(2)], {
 | 
			
		||||
    cwd: path.resolve(__dirname, '../..'),
 | 
			
		||||
    stdio: 'inherit'
 | 
			
		||||
  })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,42 @@
 | 
			
		|||
require('ts-node/register')
 | 
			
		||||
/**
 | 
			
		||||
 * @fileoverview A set of helper functions to make it easier to work
 | 
			
		||||
 * with events in async/await manner.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = require('../spec-main/window-helpers')
 | 
			
		||||
/**
 | 
			
		||||
 * @param {!EventTarget} target
 | 
			
		||||
 * @param {string} eventName
 | 
			
		||||
 * @return {!Promise<!Event>}
 | 
			
		||||
 */
 | 
			
		||||
const waitForEvent = (target, eventName) => {
 | 
			
		||||
  return new Promise(resolve => {
 | 
			
		||||
    target.addEventListener(eventName, resolve, { once: true })
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {!EventEmitter} emitter
 | 
			
		||||
 * @param {string} eventName
 | 
			
		||||
 * @return {!Promise<!Array>} With Event as the first item.
 | 
			
		||||
 */
 | 
			
		||||
const emittedOnce = (emitter, eventName) => {
 | 
			
		||||
  return emittedNTimes(emitter, eventName, 1).then(([result]) => result)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const emittedNTimes = (emitter, eventName, times) => {
 | 
			
		||||
  const events = []
 | 
			
		||||
  return new Promise(resolve => {
 | 
			
		||||
    const handler = (...args) => {
 | 
			
		||||
      events.push(args)
 | 
			
		||||
      if (events.length === times) {
 | 
			
		||||
        emitter.removeListener(eventName, handler)
 | 
			
		||||
        resolve(events)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    emitter.on(eventName, handler)
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exports.emittedOnce = emittedOnce
 | 
			
		||||
exports.emittedNTimes = emittedNTimes
 | 
			
		||||
exports.waitForEvent = waitForEvent
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue