mirror of
https://github.com/S2-/gitlit
synced 2025-08-04 13:10:09 +02:00
packager
This commit is contained in:
58
app/node_modules/electron-packager/test/mas.js
generated
vendored
Normal file
58
app/node_modules/electron-packager/test/mas.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs-extra')
|
||||
const packager = require('..')
|
||||
const path = require('path')
|
||||
const plist = require('plist')
|
||||
const util = require('./_util')
|
||||
|
||||
if (!(process.env.CI && process.platform === 'win32')) {
|
||||
const masOpts = {
|
||||
name: 'masTest',
|
||||
dir: util.fixtureSubdir('basic'),
|
||||
electronVersion: '2.0.0-beta.1',
|
||||
arch: 'x64',
|
||||
platform: 'mas'
|
||||
}
|
||||
|
||||
util.packagerTest('warn if building for mas and not signing', (t, baseOpts) => {
|
||||
const warningLog = console.warn
|
||||
let output = ''
|
||||
console.warn = message => { output += message }
|
||||
|
||||
const finalize = err => {
|
||||
console.warn = warningLog
|
||||
if (err) throw err
|
||||
}
|
||||
|
||||
return packager(Object.assign({}, baseOpts, masOpts))
|
||||
.then(() =>
|
||||
t.truthy(output.match(/signing is required for mas builds/), 'the correct warning is emitted')
|
||||
).then(finalize)
|
||||
.catch(finalize)
|
||||
})
|
||||
|
||||
util.packagerTest('update Login Helper if it exists', (t, baseOpts) => {
|
||||
let contentsPath
|
||||
let plistPath
|
||||
const helperName = `${masOpts.name} Login Helper`
|
||||
return packager(Object.assign({}, baseOpts, masOpts))
|
||||
.then(paths => {
|
||||
contentsPath = path.join(paths[0], `${masOpts.name}.app`, 'Contents', 'Library', 'LoginItems', `${helperName}.app`, 'Contents')
|
||||
return fs.pathExists(contentsPath)
|
||||
}).then(exists => {
|
||||
t.true(exists, 'renamed Login Helper app exists')
|
||||
plistPath = path.join(contentsPath, 'Info.plist')
|
||||
return fs.pathExists(contentsPath)
|
||||
}).then(exists => {
|
||||
t.true(exists, 'Login Helper Info.plist exists')
|
||||
return fs.readFile(plistPath, 'utf8')
|
||||
}).then(plistXML => {
|
||||
const plistData = plist.parse(plistXML)
|
||||
t.is(plistData.CFBundleExecutable, helperName, 'CFBundleExecutable is renamed Login Helper')
|
||||
t.is(plistData.CFBundleName, helperName, 'CFBundleName is renamed Login Helper')
|
||||
t.is(plistData.CFBundleIdentifier, 'com.electron.mastest.loginhelper')
|
||||
return fs.pathExists(path.join(contentsPath, 'MacOS', helperName))
|
||||
}).then(exists => t.true(exists, 'renamed Login Helper executable exists'))
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user