import { Arch, Platform } from "electron-builder"
import * as path from "path"
import { app, copyTestAsset, getFixtureDir } from "../helpers/packTester"
test.ifNotCiMac("portable", ({ expect }) =>
app(expect, {
targets: Platform.WINDOWS.createTarget(["portable", "nsis"]),
config: {
publish: null,
nsis: {
differentialPackage: false,
},
electronFuses: {
runAsNode: true,
enableCookieEncryption: true,
enableNodeOptionsEnvironmentVariable: true,
enableNodeCliInspectArguments: true,
enableEmbeddedAsarIntegrityValidation: true,
onlyLoadAppFromAsar: true,
loadBrowserProcessSpecificV8Snapshot: true,
grantFileProtocolExtraPrivileges: undefined,
},
},
})
)
test.ifDevOrWinCi("portable zip", ({ expect }) =>
app(expect, {
targets: Platform.WINDOWS.createTarget("portable"),
config: {
publish: null,
portable: {
useZip: true,
unpackDirName: "0ujssxh0cECutqzMgbtXSGnjorm",
},
compression: "normal",
},
})
)
test.ifNotCi("portable zip several archs", ({ expect }) =>
app(expect, {
targets: Platform.WINDOWS.createTarget("portable", Arch.ia32, Arch.x64),
config: {
publish: null,
portable: {
useZip: true,
unpackDirName: false,
},
compression: "store",
},
})
)
test.ifNotCiMac("portable - artifactName and request execution level", ({ expect }) =>
app(
expect,
{
targets: Platform.WINDOWS.createTarget(["portable"]),
config: {
nsis: {
artifactName: "${productName}Installer.${version}.${ext}",
installerIcon: "foo test space.ico",
},
portable: {
unpackDirName: true,
requestExecutionLevel: "admin",
artifactName: "${productName}Portable.${version}.${ext}",
},
},
},
{
projectDirCreated: projectDir => {
return copyTestAsset("headerIcon.ico", path.join(projectDir, "build", "foo test space.ico"))
},
}
)
)
test.ifDevOrWinCi("portable - splashImage", ({ expect }) =>
app(expect, {
targets: Platform.WINDOWS.createTarget(["portable"]),
config: {
publish: null,
portable: {
artifactName: "${productName}Portable.${version}.${ext}",
splashImage: path.resolve(getFixtureDir(), "installerHeader.bmp"),
},
},
})
)